package com.wlc.mapper;

import com.wlc.pojo.LeaveStats;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface LeaveStatsMapper {

    // 部门请假统计
    List<LeaveStats> selectDeptLeaveStats(@Param("startDate") String startDate,
                                          @Param("endDate") String endDate);

    // 请假类型统计
    List<LeaveStats> selectLeaveTypeStats(@Param("startDate") String startDate,
                                          @Param("endDate") String endDate);

    // 月度请假趋势
    List<LeaveStats> selectMonthlyLeaveTrend(@Param("year") String year);

    // 个人请假统计
    List<LeaveStats> selectPersonalLeaveStats(@Param("startDate") String startDate,
                                              @Param("endDate") String endDate);

    // 请假审批状态统计
    List<LeaveStats> selectLeaveStatusStats(@Param("startDate") String startDate,
                                            @Param("endDate") String endDate);

    // 根据ID删除请假记录
    int deleteLeaveById(@Param("id") Long id);

    // 根据员工ID删除请假记录
    int deleteLeaveByEmployeeId(@Param("employeeId") Long employeeId);

    // 批量删除请假记录
    int batchDeleteLeave(@Param("ids") List<Long> ids);
}